#pragma once

#include "GameApplication.h"
#include "Cube.h"

class Cube;

/**
NOTE: I may decide to use this class as an output mechanism for the time on the house, instead of in a GUI. 
I haven't figured out how overall time works in ogre (i think it's setup in the base application), so I am uncertain
if I want to use all the following methods as below. They are just things I want in the game so that we can have a
pause state in the game. This will make the overall timer and the house timers stop. This is where I considered
controlling the house timers, or just reporting on the house timers maybe.
**/

class HouseTimer: public Cube
{
	private:
		Ogre::Real houseTimer;
		bool pause;

	public:
		HouseTimer(){};
		HouseTimer(Ogre::Vector3 location, GridNode* g, Ogre::MeshPtr cubePtr, int iD = -1);
		void update(Ogre::Real deltaTime);
		Ogre::Real getTime();
		void setTime(double time);
		void togglePause(bool pause);
		bool getPausedState();
};